Recommendations Extensions
Recommendations Extensions Overview
Recommendation extensions allow you to offer product recommendations to users for cross sell / upsell when building out their bill of materials. You can also make recommendations based on files or other user criteria.
Request
The request will contain a high level list of all products on the workspace and any fields that you have specified in the setup manifest.
{
"additionalFields": {
"field1": "value",
"field2": "value",
"field3": "value"
},
"products": [
{
"id": "{ADAPTIVE CATALOG PRODUCT ID}",
"catalog": "{ADAPTIVE CATALOG PRODUCT CATALOG NAME}",
"mfp": "{MANUFACTURER PART NUMBER}",
"qty": 0.0,
"manufacturer": "{MANUFACTURER NAME}"
}
]
}
Any files that are uploaded to your extension (such as for a document analyzer) after 1 hour or if the user uploads a new file / deletes the workspace. Adaptive Catalog policy is for any approved extensions to also remove any cached files after one hour for privacy and security.
Response
The best way to ensure matches with Adaptive Catalog products is to pass in an Adaptive Catalog product ID. Since all rich content Adaptive Catalog products share a product ID, you can pass in any known products by those IDs. For products without known Adaptive Catalog IDs, you can pass in the manufacturer name and part number and Adaptive Catalog will attempt to match those to products that exist in the user’s catalogs.
{
"success": true,
"error": "value",
"products": ["value"],
"matchedProducts": [
{
"productId": "value",
"score": 0.0,
"scorer": "value",
"source": "value",
"matchedTo": "value",
"qty": 0.0,
"mfp": "value",
"name": "value",
"matchGroup": "value"
}
],
"possibleProducts": [
{
"productId": "value",
"score": 0.0,
"scorer": "value",
"source": "value",
"matchedTo": "value",
"qty": 0.0,
"mfp": "value",
"name": "value",
"matchGroup": "value"
}
]
}
Response Object
Field | Required | Description |
---|---|---|
success | true | Boolean indicating if the extension ran successfully |
error | false | An error message to display to the user if the extension did not run successfully |
products | false | An array of Adaptive Catalog product IDs for simple recommendation responses |
matchedProducts | false | An array of Product Match objects that are confirmed (or highly likely) matches |
possibleProducts | false | An array of Product Match objects that are possible matches. |
Product Match Object
Field | Required | Description |
---|---|---|
productId | false | The Adaptive Catalog product ID |
score | true | The score out of 100 with certainty of match |
scorer | true | A name for the scoring method. Can be anything you want but is displayed to the user |
source | false | A description of the matched data. Example: “manufacturer part number match” or “recommended service” |
matchedTo | false | A description of why it was matched or the data in the source document that it was matched to. Example: “MFP: 12345” or “Manufacturer: HPE” |
qty | false | A suggested quantity |
mfp | false | The MFP of the product being matched |
name | false | A friendly product name |
matchGroup | false | Matches are grouped by these when displayed to the user. This allows the user to select just one per group. Can be used for suggesting multiple potential matches or suggested services that are mutually exclusive. |